package com.tbit.uqbike.service.business;

import com.baomidou.mybatisplus.extension.service.IService;
import com.tbit.uqbike.enums.DispatchApplyHandleType;
import com.tbit.uqbike.object.pojo.DispatchApplyLog;
import com.tbit.uqbike.object.pojo.dto.DispatchApplyDealApplyDTO;
import com.tbit.uqbike.object.pojo.vo.DispatchApplyVO;
import com.tbit.common.entity.view.PageResult;
import com.tbit.common.entity.view.Result;

/**
 * @author yee_
 * @version 1.0
 * @date 2023/2/13 19:23
 */
public interface DispatchApplyLogService extends IService<DispatchApplyLog> {
    /**
     * 分页查询
     *
     * @param accountId   运营区域id
     * @param applyUserId 申请用户id
     * @param state       状态
     * @param page        页码
     * @param size        每页条数
     * @param startTime   开始时间
     * @param endTime     结束时间
     * @return 。
     */
    Result<PageResult<DispatchApplyVO>> listPage(Integer accountId, Integer applyUserId, Integer state, DispatchApplyHandleType handleType, Integer page, Integer size,
                                                 Long startTime, Long endTime);

    String exportCsv(Integer accountId, Integer applyUserId, Integer state, DispatchApplyHandleType handleType, Long startTime, Long endTime);

    /**
     * 处理调度申骑
     *
     * @param reviewDTO .
     */
    void dealWithApply(DispatchApplyDealApplyDTO reviewDTO);

    Result<Object> export(Integer accountId, Integer applyUserId, Integer state, DispatchApplyHandleType type, Long startTime, Long endTime);
}
